package com.asset.dispoal.business.casedispose.domain.db.mapper;

import com.asset.dispoal.business.casedispose.domain.dto.CaseDisposeFormulaDTO;
import com.asset.dispoal.business.casedispose.domain.dto.CaseDisposeState;
import com.asset.dispoal.business.casedispose.dto.AppointAssetBatchResponse;
import com.asset.dispoal.business.casedispose.dto.CaseDisposalFileResponse;
import com.asset.dispoal.business.casedispose.dto.CaseDisposeMediationResponse;
import com.asset.dispoal.business.casedispose.dto.CaseDisposePageRequest;
import com.asset.dispoal.business.casedispose.dto.CaseDisposePageResponse;
import com.asset.dispoal.business.casedispose.dto.CaseDisposeResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tech.mhuang.pacebox.springboot.protocol.data.Page;

import java.util.List;

@Mapper
public interface CasedisposeMapper {
    List<CaseDisposePageResponse> queryPage(Page<CaseDisposePageRequest> page);

    Integer queryCount(CaseDisposePageRequest request);

    CaseDisposeResponse getResponseById(String caseId);

    List<CaseDisposeMediationResponse> queryMediationByCaseId(String caseId);

    List<CaseDisposalFileResponse> queryFileByCaseId(String caseId);

    void deleteFileById(String id);


    CaseDisposeFormulaDTO getFormulaDataById(String id);

    void updateMoney(@Param("id") String id, @Param("lawsuitPrincipalAmount") String lawsuitPrincipalAmount);

    List<AppointAssetBatchResponse> queryAppoint();

    void insertResult(@Param("id") String genMapperId, @Param("fileId") String evidenceId,
                      @Param("alias") String param, @Param("result") Object matchResultObj);

    void updateResultId(@Param("evidenceId") String evidenceId, @Param("caseId") String id);

    List<CaseDisposeState> queryCaseStateByAppointId(String appointId);
}
